package de.koller.worlders.engine.entity.mo;

import de.koller.oceanFramework.math.Vec;
import de.koller.worlders.engine.entity.plattform.Plattform;
import de.koller.worlders.engine.entity.plattform.PlattformEffect;
import de.koller.worlders.engine.tiles.MOTile;

public class ElevatorEffect extends PlattformEffect {
	
	private Elevator elevator;

	@Override
	public void init( Plattform p ) {
		super.init( p );
		
		elevator = (Elevator)((MOTile)plattform.getTile()).getMo();
		p.setPriority( 100 );
	}

	@Override
	public void collision( Vec wayBefore, Vec wayAfter, MovingObject mo ) {
		super.collision( wayBefore, wayAfter, mo );

		if( plattform.isAbove( mo ) || plattform.isBelow( mo ) ) {
			mo.getEnergy().setY( elevator.getEnergy().getY() );
			mo.getEnergy().setX( elevator.getEnergy().getX() );
			wayAfter.setY( elevator.getMomov().getWay().getY() );
		}
		if( plattform.isRight( mo ) || plattform.isLeft( mo ) ) {
			wayAfter.setX( elevator.getMomov().getWay().getX() );
		}
		

	}
	
}
